import java.math.BigDecimal;
import java.math.RoundingMode;

/**
 * 正六边形类，继承正多边形基类
 */
public class RegularHexagon extends RegularPolygon {

    /**
     * 构造方法
     * @param sideLength 边长
     */
    public RegularHexagon(double sideLength) {
        super(sideLength, 6);  // 修复：移除名称参数，只传边长和边数
    }

    /**
     * 计算正六边形面积
     * 公式：(3√3 * 边长²) / 2
     * @return 面积（保留两位小数）
     */
    @Override
    public double calculateArea() {
        // 正六边形面积公式: (3√3 * side²) / 2
        double area = (3 * Math.sqrt(3) * Math.pow(getSide(), 2)) / 2;
        return round(area);
    }

    /**
     * 重写获取信息方法，提供更具体的描述
     */
    @Override
    public String getInfo() {
        return String.format("正六边形 - 边长: %.2f, 周长: %.2f, 面积: %.2f",
                getSide(), calculatePerimeter(), calculateArea());
    }
}